package com.hxzy.shop.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.DateSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 订单关联商品表
 */
@Data
@ApiModel("订单关联商品表")
public class OrderInnerDrug implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 订单关联商品表id
     */
    @TableId
    @ApiModelProperty("订单关联商品表id")
    private Long id;

    /**
     * 订单id
     */
    @ApiModelProperty("订单id")
    private Long orderId;

    /**
     * 药品id
     */
    @ApiModelProperty("药品id")
    private Long drugId;

    /**
     * 药品编码
     */
    @ApiModelProperty("药品编码")
    private String drugCode;


    /**
     * 药品规格
     */
    @ApiModelProperty("药品规格")
    private String drugSpecifications;

    /**
     * 药品数量
     */
    @ApiModelProperty("药品数量")
    private Integer drugNumber;

    /**
     * 药品名称
     */
    @ApiModelProperty("药品名称")
    private String drugName;

    /**
     * 列表图
     */
    @ApiModelProperty("列表图")
    private String tabularChart;

    /**
     * 药品原价
     */
    @ApiModelProperty("药品原价")
    private BigDecimal originalPriceOfDrugs;

    /**
     * 药品活动价
     */
    @ApiModelProperty("药品活动价")
    private BigDecimal drugActivityPrice;

    /**
     * 组合价
     */
    @ApiModelProperty("组合价")
    private BigDecimal drugCombinationPrice;

    /**
     * 药品营销类型（0无活动1限时折扣2秒杀3打包一口价4满赠5组合套餐）
     */
    @ApiModelProperty("药品营销类型（0无活动1限时折扣2秒杀3打包一口价4满赠5组合套餐）")
    private Long markingType;

    /**
     * 营销id
     */
    @ApiModelProperty("营销id")
    private Long markingId;


    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    @JsonSerialize(using = DateSerializer.class)
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 优惠后单品总价
     */
    @ApiModelProperty("优惠后单品总价")
    private BigDecimal discountAfterProTotal;

    /**
     * 起步数量（打包单个商品数量）
     */
    @ApiModelProperty("起步数量（打包单个商品数量）")
    private Integer baseLimit;

    /**
     * 商户id
     */
    @ApiModelProperty("商户id")
    private Long merchantId;

    @ApiModelProperty("是否处方药 true是处方药 false 不是处方药")
    private Boolean prescriptionDrug;

    /**
     * 条形码
     */
    @ApiModelProperty("条形码")
    private String barCode;

    @ApiModelProperty("商品是否绑部分优惠券 true是 false否")
    private Boolean isCoupon;

    /**
     * 优惠券分摊金额
     */
    @ApiModelProperty("优惠券分摊金额")
    private BigDecimal couponAllocationAmount;

    /**
     * 会员权益金额
     */
    @ApiModelProperty("会员权益金额")
    private BigDecimal memberRightsAmount;

    /**
     * 活动优惠金额
     */
    @ApiModelProperty("活动优惠金额")
    private BigDecimal activityDiscountPrice;

    @TableField(exist = false)
    @ApiModelProperty("优惠总计")
    private BigDecimal totalOffer;

    @ApiModelProperty("购物卡抵扣金额")
    private BigDecimal discountCardPrice;
    @ApiModelProperty("积分商品id")
    private Long pointRewardId;
    @ApiModelProperty("是否赠品是true 是 false 不是")
    private  Integer gift;
    @ApiModelProperty("赠品的父id")
    private String giftOrderInnerDrugId;

}
